afa62e
@@ -3104,7 +3104,9 @@
private boolean isDuplicateKeyError(SQLException ex) {
         }
         break;
       case MYSQL:
-        if(ex.getErrorCode() == 1022 && "23000".equals(ex.getSQLState())) {
+        //https://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html
+        if((ex.getErrorCode() == 1022 || ex.getErrorCode() == 1062 || ex.getErrorCode() == 1586)
+          && "23000".equals(ex.getSQLState())) {
           return true;
         }
         break;
